package com.hibase.upms.entity.menu.vo;


import cn.hutool.core.date.DatePattern;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 菜单列表vo
 *
 * @author hufeng
 * @create 2018-09-03 15:44
 */
@ApiModel("菜单列表vo")
@Data
public class MdsMenuVO {

    @ApiModelProperty(value = "id", example = "xxxxxxxxxx")
    private String id;

    @ApiModelProperty(value = "菜单名称", example = "权限管理")
    private String name;

    @ApiModelProperty(value = "菜单code", example = "xxx")
    private String code;

    @ApiModelProperty(value = "菜单图标/样式", example = "el-icon-menu")
    private String icon;

    @ApiModelProperty(value = "菜单类型", example = "MENU菜单 PAGE页面  OPERATION操作 ELEMENT元素")
    private String type;

    @ApiModelProperty(value = "页面类型(STANDARD/CUSTOMER)", example = "STANDARD")
    private String pageType;

    @ApiModelProperty(value = "终端类型分组(BROWSER浏览器 APP移动端 H5等)", example = "H5")
    private String groupType;

    @ApiModelProperty(value = "终端类型（WEB/PDA/PDA_WMS等）",example = "PDA")
    private String clientType;

    @ApiModelProperty(value = "请求别名", example = "/userController/selectUserList")
    private String url;

    @ApiModelProperty(value = "真实请求", example = "/userController/selectUserList")
    private String trueUrl;

    @ApiModelProperty(value = "实体对象", example = "com.menu")
    private String clazz;

    @ApiModelProperty(value = "状态")
    private Boolean beActive;

    @ApiModelProperty(value = "备注", example = "XXX")
    private String remarks;

    @ApiModelProperty(value = "排序", example = "1 从小到大排序")
    private Integer sort;

    @ApiModelProperty(value = "创建人", example = "2019-03-13 15:50:57")
    private String createBy;

    @JsonFormat(pattern = DatePattern.NORM_DATETIME_MINUTE_PATTERN)
    @ApiModelProperty(value = "创建时间", example = "2019-03-13 15:50:57")
    private Date createTime;

    @ApiModelProperty(value = "更新人", example = "2019-03-13 15:50:57")
    private String updateBy;

    @JsonFormat(pattern = DatePattern.NORM_DATETIME_MINUTE_PATTERN)
    @ApiModelProperty(value = "更新时间", example = "2019-03-13 15:50:57")
    private Date updateTime;

    @ApiModelProperty(value = "菜单子项", example = "")
    private List<MdsMenuVO> menuBODetail;

    @ApiModelProperty(value = "子级数量", example = "5")
    private Integer childNumber;

    @ApiModelProperty(value = "全路径名称", example = "香港 中西区 香港仔上水塘")
    private String fullName;

    @ApiModelProperty(value = "父类ID集合", example = "0/61871954412605441/61877227527852032/")
    private String allParentIds;

    @ApiModelProperty(value = "菜单path", example = "path")
    private String path;

    @ApiModelProperty(value = "菜单pathName", example = "pathName")
    private String pathName;

    @ApiModelProperty(value = "component", example = "./user/login")
    private String component;

    @ApiModelProperty(value = "是否隐藏（0 正常，1 已隐藏）", example = "false")
    private Boolean hideInMenu;
}
